[이코테-구현]_상하좌우


문제 설명

어떤 맵이 n*n 정사각형 모양으로 정해져있고, 해당 맵에서 움직 일 리스트를 받아 최종 좌표를 찍어내는 문제

My Solution

n = int(input())
move_list = input().split()

x, y = 1, 1
dx = [0, 0, -1, 1]
dy = [-1, 1, 0, 0]
move_type = ['L', 'R', 'U', 'D']

for move_lst in move_list:
    for i in range(len(move_type)):
        if move_lst == move_type[i]:
            nx = dx[i] + x
            ny = dy[i] + y

    if nx < 1 or ny < 1 or nx > n or ny > n:
        continue

    x, y = nx, ny

print(x, y)

문제 풀이

  • 좌,우, 위, 아래 방향 순으로 x축과 y축의 값을 설정해 움직 일 리스트(`L, R, U, D 중 하나)를 순서대로 받아와 매칭 되는 타입에 맞게 좌표를 이동
  • 단, 맵의 범위 1 미만 n 초과는 예외처리

Hello, I'm@nickhealthy
개발자를 꿈꾸고, 파이썬과 클라우드에 관심이 많은 비전공자

Github